Jean-Philippe Rennard
نویسنده
چکیده
The Game of Life cellular automaton is a classical example of a massively parallel collision-based computing device. The automaton exhibits mobile patterns, gliders, and generators of the mobile patterns, glider guns, in its evolution. We show how to construct basic logical operations, AND, OR, NOT in space-time configurations of the cellular automaton. Also decomposition of complicated Boolean functions is discussed. Advantages of our technique are demonstrated on an example of binary adder, realized via collision of glider streams. The Game of Life (Life) is probably the most well known cellular automaton. The rules of its behavior were discovered by John Conway at the end of the 1960s. The presentation of Conway's construction by Martin Gardner in the October 1970 issue of Scientific American made it so famous that, in 1974, Time magazine even complained about how much computer time could be wasted because "growing hordes of fanatics" spent their office days playing with the new "toy". The newly discovered cellular automata rules were called "the Game of Life" because Conway " ... wanted to see some self-reproducing animal ... displaying some interesting behavior. In a weak form, living ... " [3]. He succeeded. Obviously, the "living" is seen as a metaphor in the Game of Life context, also no spontaneous nontrivial self-reproducing patterns were found. However, the Game of Life possesses abilities to self-reproduction [6] as well as computational universality [5]. Actually, a simulation of the Game of Life universality was proved by its creator [1]. He showed that a universal Turing machine is embedded in the Game of Life, i.e. behavior of the Turing machine is imitated by space-time dynamic of the Game of Life cellular automaton. This chapter deals rather with computational, or logic, universality. We will present quite a simple way to implement any Boolean function in patterns of the Game of Life. All constructions discussed in the chapter are designed in LogiCell Java applet [4]. Sect. 1.1 offers a short survey of the Game of Life and introduces some basic patterns, that will be used in further constructions. In Sect. 1.2 we present logical gates and Boolean operators. Sect. 1.3 introduces particulars of collisions between mobile patterns in the Game of Life. Implementation of fundamental Boolean operators in space-time dynamics of the Game of Life is studied in Sect. 1.4. We show how to combine logical gates, in order to manage complex Boolean equations, in Sect. 1.5. The rest of the chapter deals with the solution of a simple combinatorial problem, the construction of a binary adder. 1.1 Basic Features of the Game of Life The Game of Life is a two dimensional cellular automaton with binary cell states and Moore neighborhood. Each cell of the automaton takes either 0 or 1 state (we can call them living or dead, active or quiescent) and updates its state in discrete time depending on the states of its eight closest neighbors (Fig. 1.1a). Rennard Implementation of Logical Functions in the Game of Life (a) (b) Fig. 1.1. The Game of Life basics. (a) Cell neighborhood: central cell is a disc and its eight closest neighbors are "+"s. (b) Cell state transition: nodes of the graph are states of a cell, arcs symbolize cell state transitions, they are labeled by numbers of neighbors that cause the transition. Even though the Game of Life can easily be redefined in a totalistic manner, it has been originally designed as a semi-totalistic automaton. When a cell updates its state, it does not look at the exact configuration of its neighborhood but only considers the number of active neighbors. Also, the cell itself is excluded from its neighborhood. Thus, cells of the Game of Life obey the three simple rules: Rl: A dead (0) cell with exactly three active neighbors becomes alive (1). R2: A living (1) cell with two or three active neighbors remains alive (1). R3: In any other case the cell dies or remains quiescent/dead. Essentially, each cell is a finite state automaton, therefore the cell state transition rules can be expressed in a classical automaton state transition diagram (Fig 1.1b). Using terms of population dynamic one can say that for a cell to be born its local density of population must be large enough (the rule Rl). The cells die of loneliness (less than two neighbors) or overpopulation (more than three neighbors), the rule R3. The rules generate quite a complex, not "mechanical", dynamic of the cellular automaton, where patterns of "alive" cells grow and change their appearance in an unpredictable way. S. Wolfram considered the Game of Life as a typical example of a complex cellular automaton, belonging to the class IV of its hierarchy of cellular automata [7].
منابع مشابه
Handbook of Research on Nature Inspired Computing for Economics and Management by Jean-Philippe Rennard (Ed.)
متن کامل
Biomorph by Jpr
According to Paley, believing that life on earth would be a natural phenomena is as absurd as thinking that the watch found on your way, or the complex mechanism found on the moon, spontaneously appeared without any intervention of a clever being. The complexity of life, and especially of human being, is the evidence of the existence of a Creator : life complexity originates in this form of int...
متن کاملArtificiality in Social Sciences
The “sciences of the artificial” deal with synthesized things which may imitate natural things, which have functions and goals and which are usually discussed in terms of imperatives as well as descriptives. Imitation with computer is now usually termed simulation and is used to understand the imitated system (Simon, 1996). Artificiality has invaded science over the last thirty years, and physi...
متن کاملStochastic Optimization Algorithms
When looking for a solution, deterministic methods have the enormous advantage that they do find global optima. Unfortunately, they are very CPU intensive, and are useless on untractable NP-hard problems that would require thousands of years for cutting-edge computers to explore. In order to get a result, one needs to revert to stochastic algorithms that sample the search space without explorin...
متن کاملPerspectives for Strong Artificial Life
This text introduces the twin deadlocks of strong artificial life. Conceptualization of life is a deadlock both because of the existence of a continuum between the inert and the living, and because we only know one instance of life. Computationalism is a second deadlock since it remains a matter of faith. Nevertheless, artificial life realizations quickly progress and recent constructions embed...
متن کامل